1. Field of the Present Invention
The present invention generally relates to data processing systems, and more specifically to method and apparatuses that allow data structures to be processed in parallel without locks.
2. History of Related Art
The evolution of the computer industry has been driven by the insatiable appetite of the consumer for ever increased speed and functionality. One species that the evolution has created is the multi-processor computer.
The multi-processor systems, in similarity to other computer systems, have many different areas that are ripe for improvement. One such area ripe for improvement evolves within the operating systems for such multi-processor environments (e.g. UNIX, AIX, etc.). More specifically, in such a multi-processor environment, locks are typically used for controlling access to data structures in order to maintain data integrity.
The methods currently used by the industry, however, use a system-wide lock in order to serialize access to the data contained in the structure. As a result of the system-wide lock, any data contained in the structure which requires alteration, also requires use of the system-wide lock. Unfortunately, in multi-processor environments these type of methods decrease the overall performance of the system.
It would, therefore, be a distinct advantage to have a method and apparatus in which data structures could be changed without using any locks. The present invention provides such a method and apparatus.